package Array;

/**
 * LC27移除元素
 * 双指针法，快指针寻找新数组的元素，慢指针指向更新新数组下标的位置
 */
public class RemoveElements {
    public static void main(String[] args) {
        int[] nums1={3,2,2,3};
        int[] nums2={0,1,2,2,3,0,4,2};
        int val1=3,val2=2;
        RemoveElements obj=new RemoveElements();
        System.out.println(obj.removeElement(nums1,val1));
        System.out.println(obj.removeElement(nums2,val2));

    }

    public int removeElement(int[] nums,int val){
        int slowIndex=0;
        for(int fastIndex=0;fastIndex<nums.length;fastIndex++){
            if(nums[fastIndex]!=val){
                nums[slowIndex]=nums[fastIndex];
                slowIndex++;
            }
        }
        return slowIndex;
    }

}
